package com.lingying.caiwudailikehudaun.utils;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;

public class JwtUtils {

    public static final long EXPIRE=1000*60*60*24*7;    //过期时间，毫秒，一周

    public static final String APPSECRET="xd666";

    /**
     * 生成Jwt，token
     * @param str
     * @return
     */
    public static String setJwtToken(String key,String str,String SUBJECT){
        String token =  Jwts.builder().setSubject(SUBJECT)
                .claim(key,str)
                .setExpiration(new Date(System.currentTimeMillis()+EXPIRE))		//过期时间
                .signWith(SignatureAlgorithm.HS256,APPSECRET).compact();	//签名算法
        return token;
    }

    /**
     * 校验token
     * @param token
     * @return
     */

    public static Claims getJwtToken(String token){
        try {
            Claims claims = Jwts.parser().setSigningKey("xd666")
                    .parseClaimsJws(token).getBody();	//getBody会获取用户的一些信息
            return claims;
        }catch (Exception e){
        }
        return null;
    }
}

